﻿using System;
using K9Nano.MultiTenancy;

namespace K9Nano.Runtime
{
    public class NullSessionContext : ISessionContext
    {
        public Guid? TenantId { get; set; }
        public Guid RequiredTenantId { get; set; }
        public Guid? UserId { get; set; }
        public Guid RequiredUserId { get; set; }
        public string UserFullName { get; set; }
        public string UserName { get; set; }
        public EMultiTenancySides MultiTenancySide { get; set; }
        public string[] Roles { get; } = new string[0];
        public IDisposable Use(Guid? tenantId, Guid? userId)
        {
            return new DisposeAction(() => { });
        }

        public string GetClaim(string claimType)
        {
            return null;
        }

        public string[] Scopes { get; } = new string[0];

        public string ClientId { get; }
    }
}